home *** CD-ROM | disk | FTP | other *** search
/ Aminet 35 / Aminet 35 (2000)(Schatztruhe)[!][Feb 2000].iso / Aminet / gfx / misc / gnuplot-src.lha / gnuplot-3.7.1src / gnuplot-3.7.1.lha / gnuplot-3.7.1 / term / be.trm < prev    next >
Encoding:
Text File  |  1999-08-20  |  22.0 KB  |  699 lines

  1. /*
  2.  * $Id: be.trm,v 1.6.2.1 1999/08/20 12:09:46 lhecking Exp $
  3.  *
  4.  */
  5.  
  6. /*[
  7.  * Copyright 1986 - 1993, 1998   Thomas Williams, Colin Kelley
  8.  *
  9.  * Permission to use, copy, and distribute this software and its
  10.  * documentation for any purpose with or without fee is hereby granted,
  11.  * provided that the above copyright notice appear in all copies and
  12.  * that both that copyright notice and this permission notice appear
  13.  * in supporting documentation.
  14.  *
  15.  * Permission to modify the software is granted, but not the right to
  16.  * distribute the complete modified source code.  Modifications are to
  17.  * be distributed as patches to the released version.  Permission to
  18.  * distribute binaries produced by compiling modified sources is granted,
  19.  * provided you
  20.  *   1. distribute the corresponding source modifications from the
  21.  *    released version in the form of a patch file along with the binaries,
  22.  *   2. add special version identification to distinguish your version
  23.  *    in addition to the base release version number,
  24.  *   3. provide your name and address as the primary contact for the
  25.  *    support of your modified version, and
  26.  *   4. retain our contact information in regard to use of the base
  27.  *    software.
  28.  * Permission to distribute the released version of the source code along
  29.  * with corresponding source modifications in the form of a patch file is
  30.  * granted with same provisions 2 through 4 for binary distributions.
  31.  *
  32.  * This software is provided "as is" without express or implied warranty
  33.  * to the extent permitted by applicable law.
  34. ]*/
  35.  
  36. /*
  37.  * This file is included by ../term.c.
  38.  *
  39.  * be.trm  --- inboard terminal driver for BE
  40.  *
  41.  * AUTHOR
  42.  *   Xavier Pianet
  43.  *
  44.  */
  45.  
  46. #include "driver.h"
  47.  
  48. #ifdef TERM_REGISTER
  49. register_term(be)
  50. #endif
  51.  
  52. #ifdef TERM_PROTO
  53. int BE_args __PROTO((int argc, char *argv[]));
  54. TERM_PUBLIC void BE_options __PROTO((void));
  55. TERM_PUBLIC void BE_init __PROTO((void));
  56. TERM_PUBLIC void BE_graphics __PROTO((void));
  57. TERM_PUBLIC void BE_text __PROTO((void));
  58. TERM_PUBLIC void BE_reset __PROTO((void));
  59. TERM_PUBLIC void BE_move __PROTO((unsigned int x, unsigned int y));
  60. TERM_PUBLIC void BE_vector __PROTO((unsigned int x, unsigned int y));
  61. TERM_PUBLIC void BE_linewidth __PROTO((double lw));
  62. TERM_PUBLIC void BE_pointsize __PROTO((double ps));
  63. TERM_PUBLIC void BE_linetype __PROTO((int lt));
  64. TERM_PUBLIC void BE_put_text __PROTO((unsigned int x, unsigned int y, const char str[]));
  65. TERM_PUBLIC int BE_justify_text __PROTO((enum JUSTIFY mode));
  66. TERM_PUBLIC void BE_point __PROTO((unsigned int x, unsigned int y, int number));
  67. TERM_PUBLIC void BE_fillbox __PROTO((int style, unsigned int x, unsigned y, unsigned int width, unsigned int height));
  68. #define BE_XMAX 4096
  69. #define BE_YMAX 4096
  70.  
  71. /* approximations for typical font/screen sizes */
  72. #define BE_VCHAR (BE_YMAX/25)
  73. #define BE_HCHAR (BE_XMAX/100)
  74. #define BE_VTIC (BE_YMAX/100)
  75. #define BE_HTIC (BE_XMAX/150)
  76. #endif
  77.  
  78.  
  79. #ifndef TERM_PROTO_ONLY
  80.  
  81. #ifdef TERM_BODY
  82.  
  83. /* non-zero if '-display' found on command line */
  84. int BE_Display = 0;
  85.  
  86. static void BE_atexit __PROTO((void));
  87.  
  88. typedef enum { hasNoArg, hasArg } OptionArg;
  89.  
  90. static struct beopt {
  91.     const char *option;    /* Name of option */
  92.     OptionArg arg;    /* Whether option has argument */
  93. }  BE_opts[] =
  94. {
  95.    { "-mono", hasNoArg }, { "-gray", hasNoArg }, { "-clear", hasNoArg },
  96.    { "-pointsize", hasArg },
  97.    { "-iconic", hasNoArg }, { "-rv", hasNoArg },
  98.    { "-reverse", hasNoArg }, { "+rv", hasNoArg },
  99.    { "-synchronous", hasNoArg },
  100.    { "-display", hasArg }, { "-geometry", hasArg }, { "-bg", hasArg },
  101.    { "-background", hasArg }, { "-bd", hasArg },
  102.    { "-bordercolor", hasArg }, { "-bw", hasArg },
  103.    { "-borderwidth", hasArg }, { "-fg", hasArg },
  104.    { "-foreground", hasArg }, { "-fn", hasArg }, { "-font", hasArg },
  105.    { "-name", hasArg },
  106.    { "-title", hasArg },
  107. //   { "-xnllanguage", hasArg }, { "-xrm", hasArg },
  108.    { "-raise", hasNoArg }, { "-noraise", hasNoArg },
  109.    { "-persist", hasNoArg }
  110. };
  111.  
  112. #define BE_nopts (sizeof(BE_opts) / sizeof(BE_opts[0]))
  113.  
  114. static FILE *BE_ipc;
  115.  
  116. static char **xargv = (char **)NULL;
  117. static char *optvec[2*BE_nopts+1];
  118.  
  119. static char BE_command[] = "gnuplot_be";
  120.  
  121. /*   BE_args - scan gnuplot command line for standard Toolkit options (to be done)
  122.  * called from plot.c so must not be TERM_PUBLIC (which may be static)
  123.  */
  124.  
  125. int
  126. BE_args(argc, argv)
  127. int argc;
  128. char *argv[];
  129. {
  130.     int nbe = 0, i = 0, n;
  131.  
  132.     xargv = (char **) gp_alloc (argc*sizeof(char *), "<xargv>");
  133.  
  134.     if (!xargv) {
  135.     fputs ("not enough memory to copy argv - quitting\n", stderr);
  136.     exit (EXIT_FAILURE);
  137.     }
  138.  
  139.     /* We make a copy of the argument vector because
  140.      * argv is modified later. */
  141.     memcpy (xargv, argv, argc*sizeof(char *));
  142.     optvec[i++] = BE_command;
  143.  
  144.     while (++argv, --argc > 0) {
  145.     for (n = 0; n < BE_nopts; n++) {
  146.         if (strcmp(*argv, BE_opts[n].option) == 0) {
  147.         optvec[i++] = *xargv;
  148.         if (strcmp(*argv, "-display") == 0)
  149.             BE_Display++;
  150.         if (BE_opts[n].arg == hasArg) {
  151.             if (--argc <= 0)
  152.             return nbe;
  153.             optvec[i++] = *++xargv, ++argv;
  154.             nbe++;
  155.         }
  156.         nbe++;
  157.         break;
  158.         }
  159.     }
  160.     if (n == BE_nopts)
  161.         break;
  162.     }
  163.     return nbe;
  164. }
  165.  
  166.  
  167. static unsigned int BE_plot_number;
  168.  
  169. TERM_PUBLIC void
  170. BE_options()
  171. {
  172.     if (almost_equals(c_token, "res$et")) {
  173.     BE_atexit ();    /* tell gnuplot_be to shut down */
  174.     ++c_token;
  175.     }
  176.     if (!END_OF_COMMAND) {
  177.     struct value a;
  178.     BE_plot_number = (int) real(const_express(&a));
  179.     /* let gnuplot_be check range */
  180.     }
  181.     sprintf(term_options, "%d", BE_plot_number);
  182. }
  183.  
  184. /* we do not want to have to duplicate all the code, so we
  185.  * do most of it with macros.
  186.  * PRINT0(format), PRINT1(format, p1), PRINT2(format, p1, p2) etc
  187.  * also  FLUSH0(format), etc, which do an additional flush
  188.  */
  189.  
  190.  
  191. /*
  192.  *   The Be terminal driver uses popen() pipe IPC
  193.  */
  194. static void
  195. BE_atexit ()
  196. {
  197.     if (BE_ipc) {
  198.     fputs("R\n", BE_ipc);
  199.     fclose(BE_ipc);
  200.     /* dont wait(), since they might be -persist */
  201.     BE_ipc = NULL;
  202.     }
  203. }
  204.  
  205. TERM_PUBLIC void
  206. BE_init()
  207. {
  208.     if (!BE_ipc) {
  209.     /* first time through or after a reset */
  210.     int fdes[2];
  211.     pipe(fdes);
  212.     if (fork() == 0) {
  213.         /* child */
  214.         close(fdes[1]);
  215.         dup2(fdes[0], 0);    /* stdin from pipe */
  216.         execvp(BE_command, optvec);
  217.         /* if we get here, something went wrong */
  218.         perror("exec failed");
  219.         exit(1);
  220.     }
  221.     /* parent */
  222.     close(fdes[0]);        /* read end of pipe */
  223.     BE_ipc = fdopen(fdes[1], "w");
  224.     } {
  225.     static int been_here = 0;
  226.     if (!been_here) {
  227.         atexit(BE_atexit);
  228.         been_here = 1;
  229.     }
  230.     }
  231. }
  232.  
  233. TERM_PUBLIC void
  234. BE_reset()
  235. {
  236.     /* leave the pipe alone, until exit or  set term be reset */
  237. }
  238.  
  239. #define PRINT0(fmt)                      fprintf(BE_ipc, fmt)
  240. #define PRINT1(fmt,p1)                   fprintf(BE_ipc, fmt,p1)
  241. #define PRINT2(fmt,p1,p2)            fprintf(BE_ipc, fmt,p1,p2)
  242. #define PRINT3(fmt,p1,p2,p3)         fprintf(BE_ipc, fmt,p1,p2,p3)
  243. #define PRINT4(fmt,p1,p2,p3,p4)     fprintf(BE_ipc, fmt,p1,p2,p3,p4)
  244. #define PRINT5(fmt,p1,p2,p3,p4,p5)    fprintf(BE_ipc, fmt,p1,p2,p3,p4,p5)
  245.  
  246. #define FFLUSH()             fflush(BE_ipc)
  247.  
  248. #define BEFORE_GRAPHICS        /* nowt */
  249. #define AFTER_TEXT        /* nowt */
  250.  
  251.  
  252. /* common stuff, using macros defined above */
  253.  
  254.  
  255. TERM_PUBLIC void
  256. BE_graphics()
  257. {
  258.     BEFORE_GRAPHICS;        /* kludge for crippled select */
  259.     PRINT1("G%d\n", BE_plot_number);    /* for VMS sake, keep as separate prints */
  260. }
  261.  
  262. TERM_PUBLIC void
  263. BE_text()
  264. {
  265.     PRINT0("E\n");
  266.     FFLUSH();
  267.     AFTER_TEXT;            /* kludge for crippled select */
  268. }
  269.  
  270.  
  271. TERM_PUBLIC void
  272. BE_move(x, y)
  273. unsigned int x, y;
  274. {
  275.     PRINT2("M%04d%04d\n", x, y);
  276. }
  277.  
  278. TERM_PUBLIC void
  279. BE_vector(x, y)
  280. unsigned int x, y;
  281. {
  282.     PRINT2("V%04d%04d\n", x, y);
  283. }
  284.  
  285. TERM_PUBLIC void
  286. BE_pointsize(ps)
  287. double ps;
  288. {
  289.     PRINT2("P7%04d%04d\n",    /* size of point symbols */
  290.        (int) (term->h_tic * ps * 0.5), (int) (term->v_tic * ps * 0.5));
  291. }
  292.  
  293. TERM_PUBLIC void
  294. BE_linewidth(lw)
  295. double lw;
  296. {
  297.     PRINT1("W%04d\n", (int) lw);
  298. }
  299.  
  300. TERM_PUBLIC void
  301. BE_linetype(lt)
  302. int lt;
  303. {
  304.     PRINT1("L%04d\n", lt);
  305. }
  306.  
  307. TERM_PUBLIC void
  308. BE_put_text(x, y, str)
  309. unsigned int x, y;
  310. const char str[];
  311. {
  312.     /* badly outrange labels can overflow into text field */
  313.     if (x < 10000 && y < 10000) {
  314.     PRINT3("T%04d%04d%s\n", x, y, str);
  315.     }
  316. }
  317.  
  318. TERM_PUBLIC int
  319. BE_justify_text(mode)
  320. enum JUSTIFY mode;
  321. {
  322.     PRINT1("J%04d\n", mode);
  323.     return (TRUE);
  324. }
  325.  
  326. TERM_PUBLIC void
  327. BE_point(x, y, number)
  328. unsigned int x, y;
  329. int number;
  330. {
  331.     if (number >= 0)
  332.     number %= POINT_TYPES;
  333.     number += 1;
  334.     PRINT3("P%01d%04d%04d\n", number, x, y);
  335. }
  336.  
  337. TERM_PUBLIC void
  338. BE_fillbox(style, x, y, w, h)
  339. int style;
  340. unsigned int x, y, w, h;
  341. {
  342.     PRINT5("F%04d%04u%04u%04u%04u\n", style, x, y, w, h);
  343. }
  344.  
  345. #endif /* TERM_BODY */
  346.  
  347. #ifdef TERM_TABLE
  348.  
  349. TERM_TABLE_START(be_driver)
  350.     "be", "BeOS Window System",
  351.     BE_XMAX, BE_YMAX, BE_VCHAR, BE_HCHAR,
  352.     BE_VTIC, BE_HTIC, BE_options, BE_init, BE_reset,
  353.     BE_text, null_scale, BE_graphics, BE_move, BE_vector,
  354.     BE_linetype, BE_put_text, null_text_angle,
  355.     BE_justify_text, BE_point, do_arrow, set_font_null,
  356.     BE_pointsize, TERM_CAN_MULTIPLOT,
  357.     BE_text /* suspend can use same routine */ , 0 /* resume */ ,
  358.     BE_fillbox, BE_linewidth
  359. TERM_TABLE_END(be_driver)
  360.  
  361. #undef LAST_TERM
  362. #define LAST_TERM be_driver
  363.  
  364. TERM_TABLE_START(BE_driver)
  365.     "BE", "BE Window System (identical to be)",
  366.     BE_XMAX, BE_YMAX, BE_VCHAR, BE_HCHAR,
  367.     BE_VTIC, BE_HTIC, BE_options, BE_init, BE_reset,
  368.     BE_text, null_scale, BE_graphics, BE_move, BE_vector,
  369.     BE_linetype, BE_put_text, null_text_angle,
  370.     BE_justify_text, BE_point, do_arrow, set_font_null,
  371.     BE_pointsize, TERM_CAN_MULTIPLOT,
  372.     BE_text /* suspend can use same routine */ , 0 /* resume */ ,
  373.     BE_fillbox, BE_linewidth
  374. TERM_TABLE_END(BE_driver)
  375.  
  376. #undef LAST_TERM
  377. #define LAST_TERM be_driver
  378.  
  379. #endif /* TERM_TABLE */
  380. #endif /* TERM_PROTO_ONLY */
  381.  
  382.  
  383. #ifdef TERM_HELP
  384. START_HELP(be)
  385. "1 be",
  386. "?commands set terminal be",
  387. "?set terminal be",
  388. "?set term be",
  389. "?terminal be",
  390. "?term be",
  391. "?be",
  392. "?BE",
  393. " `gnuplot` provides the `be` terminal type for use with X servers.  This",
  394. " terminal type is set automatically at startup if the `DISPLAY` environment",
  395. " variable is set, if the `TERM` environment variable is set to `xterm`, or",
  396. " if the `-display` command line option is used.",
  397. "",
  398. " Syntax:",
  399. "           set terminal be {reset} {<n>}",
  400. "",
  401. " Multiple plot windows are supported: `set terminal be <n>` directs the",
  402. " output to plot window number n.  If n>0, the terminal number will be",
  403. " appended to the window title and the icon will be labeled `gplt <n>`.",
  404. " The active window may distinguished by a change in cursor (from default",
  405. " to crosshair.)",
  406. "",
  407. " Plot windows remain open even when the `gnuplot` driver is changed to a",
  408. " different device.  A plot window can be closed by pressing the letter q",
  409. " while that window has input focus, or by choosing `close` from a window",
  410. " manager menu.  All plot windows can be closed by specifying `reset`, which",
  411. " actually terminates the subprocess which maintains the windows (unless",
  412. " `-persist` was specified).",
  413. "",
  414. " Plot windows will automatically be closed at the end of the session",
  415. " unless the `-persist` option was given.",
  416. "",
  417. " The size or aspect ratio of a plot may be changed by resizing the `gnuplot`",
  418. " window.",
  419. "",
  420. " Linewidths and pointsizes may be changed from within `gnuplot` with",
  421. " `set linestyle`.",
  422. "",
  423. " For terminal type `be`, `gnuplot` accepts (when initialized) the standard",
  424. " X Toolkit options and resources such as geometry, font, and name from the",
  425. " command line arguments or a configuration file.  See the X(1) man page",
  426. " (or its equivalent) for a description of such options.",
  427. "",
  428. " A number of other `gnuplot` options are available for the `be` terminal.",
  429. " These may be specified either as command-line options when `gnuplot` is",
  430. " invoked or as resources in the configuration file \"/.Xdefaults\".  They are",
  431. " set upon initialization and cannot be altered during a `gnuplot` session.",
  432. "2 command-line_options",
  433. "?commands set terminal be command-line-options",
  434. "?set terminal be command-line-options",
  435. "?set term be command-line-options",
  436. "?be command-line-options",
  437. "?command-line-options",
  438. " In addition to the X Toolkit options, the following options may be specified",
  439. " on the command line when starting `gnuplot` or as resources in your",
  440. " \".Xdefaults\" file:",
  441. "@start table - first is interactive cleartext form",
  442. "  `-clear`   requests that the window be cleared momentarily before a",
  443. "                         new plot is displayed.",
  444. "  `-gray`        requests grayscale rendering on grayscale or color displays.",
  445. "                         (Grayscale displays receive monochrome rendering by default.)",
  446. "  `-mono`        forces monochrome rendering on color displays.",
  447. "  `-persist` plot windows survive after main gnuplot program exits",
  448. "  `-raise`   raise plot window after each plot",
  449. "  `-noraise` do not raise plot window after each plot",
  450. "  `-tvtwm`   requests that geometry specifications for position of the",
  451. "                         window be made relative to the currently displayed portion",
  452. "                         of the virtual root.",
  453. "#\\begin{tabular}{|cl|} \\hline",
  454. "#`-mono`  & forces monochrome rendering on color displays.\\\\",
  455. "#`-gray`  & requests grayscale rendering on grayscale or color displays.\\\\",
  456. "#                 & (Grayscale displays receive monochrome rendering by default.) \\\\",
  457. "#`-clear` & requests that the window be cleared momentarily before a\\\\",
  458. "#                 & new plot is displayed. \\\\",
  459. "#`-tvtwm` & requests that geometry specifications for position of the\\\\",
  460. "#                 & window be made relative to the currently displayed portion\\\\",
  461. "#                 & of the virtual root. \\\\",
  462. "#`-raise` & raise plot window after each plot. \\\\",
  463. "#`-noraise` & do not raise plot window after each plot. \\\\",
  464. "#`-persist`&plot windows survive after main gnuplot program exits. \\\\",
  465. "%c l .",
  466. "%`-mono`@forces monochrome rendering on color displays.",
  467. "%`-gray`@requests grayscale rendering on grayscale or color displays.",
  468. "%           @(Grayscale displays receive monochrome rendering by default.)",
  469. "%`-clear`@requests that the window be cleared momentarily before a",
  470. "%                @new plot is displayed.",
  471. "%`-tvtwm`@requests that geometry specifications for position of the",
  472. "%                @window be made relative to the currently displayed portion",
  473. "%                @of the virtual root.",
  474. "%`-raise`@raise plot window after each plot",
  475. "%`-noraise`@do not raise plot window after each plot",
  476. "%`-persist`@plot windows survive after main gnuplot program exits",
  477. "@end table",
  478. " The options are shown above in their command-line syntax.  When entered as",
  479. " resources in \".Xdefaults\", they require a different syntax.",
  480. "",
  481. " Example:",
  482. "           gnuplot*gray: on",
  483. "",
  484. " `gnuplot` also provides a command line option (`-pointsize <v>`) and a",
  485. " resource, `gnuplot*pointsize: <v>`, to control the size of points plotted",
  486. " with the `points` plotting style.  The value `v` is a real number (greater",
  487. " than 0 and less than or equal to ten) used as a scaling factor for point",
  488. " sizes.  For example, `-pointsize 2` uses points twice the default size, and",
  489. " `-pointsize 0.5` uses points half the normal size.",
  490. "2 monochome_options",
  491. "?commands set terminal be monochrome_options",
  492. "?set terminal be monochrome_options",
  493. "?set term be monochrome_options",
  494. "?be monochrome_options",
  495. "?monochrome_options",
  496. " For monochrome displays, `gnuplot` does not honor foreground or background",
  497. " colors.  The default is black-on-white.  `-rv` or `gnuplot*reverseVideo: on`",
  498. " requests white-on-black.",
  499. "",
  500. "2 color_resources",
  501. "?commands set terminal be color_resources",
  502. "?set terminal be color_resources",
  503. "?set term be color_resources",
  504. "?be color_resources",
  505. "?color_resources",
  506. " For color displays, `gnuplot` honors the following resources (shown here",
  507. " with their default values) or the greyscale resources.  The values may be",
  508. " color names as listed in the BE rgb.txt file on your system, hexadecimal",
  509. " RGB color specifications (see BE documentation), or a color name followed",
  510. " by a comma and an `intensity` value from 0 to 1.  For example, `blue, 0.5`",
  511. " means a half intensity blue.",
  512. "@start table - first is interactive cleartext form",
  513. "  gnuplot*background:  white",
  514. "  gnuplot*textColor:   black",
  515. "  gnuplot*borderColor: black",
  516. "  gnuplot*axisColor:   black",
  517. "  gnuplot*line1Color:  red",
  518. "  gnuplot*line2Color:  green",
  519. "  gnuplot*line3Color:  blue",
  520. "  gnuplot*line4Color:  magenta",
  521. "  gnuplot*line5Color:  cyan",
  522. "  gnuplot*line6Color:  sienna",
  523. "  gnuplot*line7Color:  orange",
  524. "  gnuplot*line8Color:  coral",
  525. "#\\begin{tabular}{|cl|} \\hline",
  526. "#&gnuplot*background: white\\\\",
  527. "#&gnuplot*textColor: black\\\\",
  528. "#&gnuplot*borderColor: black\\\\",
  529. "#&gnuplot*axisColor: black\\\\",
  530. "#&gnuplot*line1Color: red\\\\",
  531. "#&gnuplot*line2Color: green\\\\",
  532. "#&gnuplot*line3Color: blue\\\\",
  533. "#&gnuplot*line4Color: magenta\\\\",
  534. "#&gnuplot*line5Color: cyan\\\\",
  535. "#&gnuplot*line6Color: sienna\\\\",
  536. "#&gnuplot*line7Color: orange\\\\",
  537. "#&gnuplot*line8Color: coral\\\\",
  538. "%c l .",
  539. "%@gnuplot*background: white",
  540. "%@gnuplot*textColor: black",
  541. "%@gnuplot*borderColor: black",
  542. "%@gnuplot*axisColor: black",
  543. "%@gnuplot*line1Color: red",
  544. "%@gnuplot*line2Color: green",
  545. "%@gnuplot*line3Color: blue",
  546. "%@gnuplot*line4Color: magenta",
  547. "%@gnuplot*line5Color: cyan",
  548. "%@gnuplot*line6Color: sienna",
  549. "%@gnuplot*line7Color: orange",
  550. "%@gnuplot*line8Color: coral",
  551. "@end table",
  552. "",
  553. " The command-line syntax for these is, for example,",
  554. "",
  555. " Example:",
  556. "           gnuplot -background coral",
  557. "",
  558. "2 grayscale_resources",
  559. "?commands set terminal be grayscale_resources",
  560. "?set terminal be grayscale_resources",
  561. "?set term be grayscale_resources",
  562. "?be grayscale_resources",
  563. "?grayscale_resources",
  564. " When `-gray` is selected, `gnuplot` honors the following resources for",
  565. " grayscale or color displays (shown here with their default values).  Note",
  566. " that the default background is black.",
  567. "@start table - first is interactive cleartext form",
  568. "  gnuplot*background: black",
  569. "  gnuplot*textGray:   white",
  570. "  gnuplot*borderGray: gray50",
  571. "  gnuplot*axisGray:   gray50",
  572. "  gnuplot*line1Gray:  gray100",
  573. "  gnuplot*line2Gray:  gray60",
  574. "  gnuplot*line3Gray:  gray80",
  575. "  gnuplot*line4Gray:  gray40",
  576. "  gnuplot*line5Gray:  gray90",
  577. "  gnuplot*line6Gray:  gray50",
  578. "  gnuplot*line7Gray:  gray70",
  579. "  gnuplot*line8Gray:  gray30",
  580. "#\\begin{tabular}{|cl|} \\hline",
  581. "#&gnuplot*background: black\\\\",
  582. "#&gnuplot*textGray: white\\\\",
  583. "#&gnuplot*borderGray: gray50\\\\",
  584. "#&gnuplot*axisGray: gray50\\\\",
  585. "#&gnuplot*line1Gray: gray100\\\\",
  586. "#&gnuplot*line2Gray: gray60\\\\",
  587. "#&gnuplot*line3Gray: gray80\\\\",
  588. "#&gnuplot*line4Gray: gray40\\\\",
  589. "#&gnuplot*line5Gray: gray90\\\\",
  590. "#&gnuplot*line6Gray: gray50\\\\",
  591. "#&gnuplot*line7Gray: gray70\\\\",
  592. "#&gnuplot*line8Gray: gray30\\\\",
  593. "%c l .",
  594. "%@gnuplot*background: black",
  595. "%@gnuplot*textGray: white",
  596. "%@gnuplot*borderGray: gray50",
  597. "%@gnuplot*axisGray: gray50",
  598. "%@gnuplot*line1Gray: gray100",
  599. "%@gnuplot*line2Gray: gray60",
  600. "%@gnuplot*line3Gray: gray80",
  601. "%@gnuplot*line4Gray: gray40",
  602. "%@gnuplot*line5Gray: gray90",
  603. "%@gnuplot*line6Gray: gray50",
  604. "%@gnuplot*line7Gray: gray70",
  605. "%@gnuplot*line8Gray: gray30",
  606. "@end table",
  607. "",
  608. "2 line_resources",
  609. "?commands set terminal be line_resources",
  610. "?set terminal be line_resources",
  611. "?set term be line_resources",
  612. "?be line_resources",
  613. "?line_resources",
  614. " `gnuplot` honors the following resources for setting the width (in pixels) of",
  615. " plot lines (shown here with their default values.)  0 or 1 means a minimal",
  616. " width line of 1 pixel width.  A value of 2 or 3 may improve the appearance of",
  617. " some plots.",
  618. "@start table - first is interactive cleartext form",
  619. "  gnuplot*borderWidth: 2",
  620. "  gnuplot*axisWidth:   0",
  621. "  gnuplot*line1Width:  0",
  622. "  gnuplot*line2Width:  0",
  623. "  gnuplot*line3Width:  0",
  624. "  gnuplot*line4Width:  0",
  625. "  gnuplot*line5Width:  0",
  626. "  gnuplot*line6Width:  0",
  627. "  gnuplot*line7Width:  0",
  628. "  gnuplot*line8Width:  0",
  629. "#\\begin{tabular}{|cl|} \\hline",
  630. "#&gnuplot*borderWidth: 2\\\\",
  631. "#&gnuplot*axisWidth: 0\\\\",
  632. "#&gnuplot*line1Width: 0\\\\",
  633. "#&gnuplot*line2Width: 0\\\\",
  634. "#&gnuplot*line3Width: 0\\\\",
  635. "#&gnuplot*line4Width: 0\\\\",
  636. "#&gnuplot*line5Width: 0\\\\",
  637. "#&gnuplot*line6Width: 0\\\\",
  638. "#&gnuplot*line7Width: 0\\\\",
  639. "#&gnuplot*line8Width: 0\\\\",
  640. "%c l .",
  641. "%@gnuplot*borderWidth: 2",
  642. "%@gnuplot*axisWidth: 0",
  643. "%@gnuplot*line1Width: 0",
  644. "%@gnuplot*line2Width: 0",
  645. "%@gnuplot*line3Width: 0",
  646. "%@gnuplot*line4Width: 0",
  647. "%@gnuplot*line5Width: 0",
  648. "%@gnuplot*line6Width: 0",
  649. "%@gnuplot*line7Width: 0",
  650. "%@gnuplot*line8Width: 0",
  651. "@end table",
  652. "",
  653. " `gnuplot` honors the following resources for setting the dash style used for",
  654. " plotting lines.  0 means a solid line.  A two-digit number `jk` (`j` and `k`",
  655. " are >= 1  and <= 9) means a dashed line with a repeated pattern of `j` pixels",
  656. " on followed by `k` pixels off.  For example, '16' is a \"dotted\" line with one",
  657. " pixel on followed by six pixels off.  More elaborate on/off patterns can be",
  658. " specified with a four-digit value.  For example, '4441' is four on, four off,",
  659. " four on, one off.  The default values shown below are for monochrome displays",
  660. " or monochrome rendering on color or grayscale displays.  For color displays,",
  661. " the default for each is 0 (solid line) except for `axisDashes` which defaults",
  662. " to a '16' dotted line.",
  663. "@start table - first is interactive cleartext form",
  664. "  gnuplot*borderDashes:   0",
  665. "  gnuplot*axisDashes:        16",
  666. "  gnuplot*line1Dashes:        0",
  667. "  gnuplot*line2Dashes:   42",
  668. "  gnuplot*line3Dashes:   13",
  669. "  gnuplot*line4Dashes:   44",
  670. "  gnuplot*line5Dashes:   15",
  671. "  gnuplot*line6Dashes: 4441",
  672. "  gnuplot*line7Dashes:   42",
  673. "  gnuplot*line8Dashes:   13",
  674. "#\\begin{tabular}{|cl|} \\hline",
  675. "#&gnuplot*borderDashes: 0\\\\",
  676. "#&gnuplot*axisDashes: 16\\\\",
  677. "#&gnuplot*line1Dashes: 0\\\\",
  678. "#&gnuplot*line2Dashes: 42\\\\",
  679. "#&gnuplot*line3Dashes: 13\\\\",
  680. "#&gnuplot*line4Dashes: 44\\\\",
  681. "#&gnuplot*line5Dashes: 15\\\\",
  682. "#&gnuplot*line6Dashes: 4441\\\\",
  683. "#&gnuplot*line7Dashes: 42\\\\",
  684. "#&gnuplot*line8Dashes: 13\\\\",
  685. "%c l .",
  686. "%@gnuplot*borderDashes: 0",
  687. "%@gnuplot*axisDashes: 16",
  688. "%@gnuplot*line1Dashes: 0",
  689. "%@gnuplot*line2Dashes: 42",
  690. "%@gnuplot*line3Dashes: 13",
  691. "%@gnuplot*line4Dashes: 44",
  692. "%@gnuplot*line5Dashes: 15",
  693. "%@gnuplot*line6Dashes: 4441",
  694. "%@gnuplot*line7Dashes: 42",
  695. "%@gnuplot*line8Dashes: 13",
  696. "@end table"
  697. END_HELP(be)
  698. #endif /* TERM_HELP */
  699.